#include <kuai/energy.h>

#ifndef _KUAILIB_E_NONBOND_H_
#define _KUAILIB_E_NONBOND_H_


namespace kuai {


	template<typename FuncNonbond> 
	class NonbondEnergy
		: public EnergyFunction
	{
	public:
		NonbondEnergy();

		RealNumber calcE(const ConnectTable& mol, const PhaseSpace& input, const RealNumber par[], PhaseSpace& output) const {
			RealNumber result = 0; 
			for (Index i = 1; i < nAtoms; ++i) {
				Index at1 = mol.atom(i);
				for (Index j = 0; j < i; ++j) {
					if (!test_bit(_masks, i, j)) {
						Index at2 = mol.atom(j);
						Index paroff = _par_start + offset(at1, at2) * _par_per_pair;

					}
				}
			}
			return result;
		}


	private:
		Index		_eOffset;
		Index		_par_start;
		Index		_par_per_pair;
		const Byte	_masks[];
	};
};
#endif
